package com.zl.service;

import com.zl.common.Result;
import com.zl.dto.MenuDto;
import com.zl.dto.TsMenuDto;
import com.zl.dto.TsRoleSmallDto;
import com.zl.entity.TsMenu;

import java.util.List;
import java.util.Map;

public interface MenuService {

    List<TsMenu> all(TsMenuDto menuDto);

    /**
     * build Tree
     * @param menus
     * @return
     */
    Map buildTree(List<TsMenu> menus);

    /**
     * 创建
     * @param resources
     */
    Result create(TsMenuDto resources);

    /**
     * 修改
     * @param resources
     */
    Result update(TsMenuDto resources);

    /**
     * 删除
     * @param id
     * @return
     */
    Result delete(Long id);

    Result getMenuTree();

    List<TsMenu> findByRoles(List<TsRoleSmallDto> roles);

    List<MenuDto> buildMenus(List<TsMenu> menusTree);
}
